/*
 * Terrier - Terabyte Retriever
 * Webpage: http://ir.dcs.gla.ac.uk/terrier
 * Contact: terrier{a.}dcs.gla.ac.uk
 * University of Glasgow - Department of Computing Science
 * http://www.gla.ac.uk/
 *
 * The contents of this file are subject to the Mozilla Public License
 * Version 1.1 (the "License"); you may not use this file except in
 * compliance with the License. You may obtain a copy of the License at
 * http://www.mozilla.org/MPL/
 *
 * Software distributed under the License is distributed on an "AS IS"
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
 * the License for the specific language governing rights and limitations
 * under the License.
 *
 * The Original Code is aIndexUpgrader.java.
 *
 * The Original Code is Copyright (C) 2004-2009 the University of Glasgow.
 * All Rights Reserved.
 *
 * Contributor(s):
 *  Craig Macdonald <craigm{a.}dcs.gla.ac.uk> (original author)
 */
package uk.ac.gla.terrier.structures.upgrading;

import uk.ac.gla.terrier.structures.Index;
/** Abstract class for upgrading an index to another index 
 * 	@version $Revision: 1.3 $ 
 * 	@author Craig Macdonald 
 * 	@since 2.0 */
public abstract class aIndexUpgrader
{
	/** source Index */
	final Index sourceIndex;
	/** destination Index */
	final Index destIndex;
	/** record the source and dest indices */
	public aIndexUpgrader(Index sourceIndex, Index destIndex)
	{	
		this.sourceIndex = sourceIndex;
		this.destIndex = destIndex;
	}

	/** upgrade this index, source to destination */
	public abstract void upgrade() throws Exception;
}
